home *** CD-ROM | disk | FTP | other *** search
/ CD ROM Paradise Collection 4 / CD ROM Paradise Collection 4 1995 Nov.iso / program / swags_z.zip / STRINGS.SWG / 0058_Uppercase STRING.pas < prev    next >
Pascal/Delphi Source File  |  1993-09-26  |  879b  |  36 lines

  1. {*****************************************************************************
  2.  * Function ...... UpperCase()
  3.  * Purpose ....... To convert a string to upper case
  4.  * Parameters .... s          String to convert
  5.  * Returns ....... <s> with all capital letters
  6.  * Notes ......... None
  7.  * Author ........ Martin Richardson
  8.  * Date .......... October 2, 1992
  9.  *****************************************************************************}
  10. FUNCTION UpperCase( s: STRING ): STRING; ASSEMBLER;
  11. ASM
  12.       PUSH   DS
  13.       CLD
  14.       LDS    SI, s
  15.       XOR    AX, AX
  16.       LODSB
  17.       XCHG   AX, CX
  18.       LES    DI, @Result
  19.       MOV    BYTE PTR ES:[DI], CL
  20.       JCXZ   @@3
  21.       INC    DI
  22.  
  23. @@1:  LODSB
  24.       CMP    AL, 'a'
  25.       JB     @@2
  26.       CMP    AL, 'z'
  27.       JA     @@2
  28.       XOR    AL, $20
  29.  
  30. @@2:  STOSB
  31.       LOOP   @@1
  32.  
  33. @@3:  POP    DS
  34. END;
  35.  
  36.